package com.debao.system.service.impl;

import java.util.Collections;
import java.util.List;

import com.debao.system.domain.vo.CourseStudentVo;
import com.debao.system.domain.vo.CourseStudentVoTwo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.debao.system.mapper.UserCourseCardMapper;
import com.debao.system.domain.UserCourseCard;
import com.debao.system.service.IUserCourseCardService;

/**
 * 用户的课程卡Service业务层处理
 * 
 * @author DeBao
 * @date 2024-06-19
 */
@Service
public class UserCourseCardServiceImpl implements IUserCourseCardService 
{
    @Autowired
    private UserCourseCardMapper userCourseCardMapper;

    /**
     * 查询用户的课程卡
     * 
     * @param id 用户的课程卡主键
     * @return 用户的课程卡
     */
    @Override
    public UserCourseCard selectUserCourseCardById(Long id)
    {
        return userCourseCardMapper.selectUserCourseCardById(id);
    }

    @Override
    public UserCourseCard selectUserCourseCardByIdAndCourseId(Long userId,Long courseId)
    {
        return userCourseCardMapper.selectUserCourseCardByIdAndCourseId(userId, courseId);
    }

    /**
     * 查询用户的课程卡列表
     * 
     * @param userCourseCard 用户的课程卡
     * @return 用户的课程卡
     */
    @Override
    public List<UserCourseCard> selectUserCourseCardList(UserCourseCard userCourseCard)
    {
        return userCourseCardMapper.selectUserCourseCardList(userCourseCard);
    }

    @Override
    public List<CourseStudentVoTwo> selectUserCardStudentList(Long courseId) {
        return userCourseCardMapper.selectUserCardStudentList(courseId);
    }

    /**
     * 新增用户的课程卡
     * 
     * @param userCourseCard 用户的课程卡
     * @return 结果
     */
    @Override
    public int insertUserCourseCard(UserCourseCard userCourseCard)
    {
        return userCourseCardMapper.insertUserCourseCard(userCourseCard);
    }

    /**
     * 修改用户的课程卡
     * 
     * @param userCourseCard 用户的课程卡
     * @return 结果
     */
    @Override
    public int updateUserCourseCard(UserCourseCard userCourseCard)
    {
        return userCourseCardMapper.updateUserCourseCard(userCourseCard);
    }

    /**
     * 批量删除用户的课程卡
     * 
     * @param ids 需要删除的用户的课程卡主键
     * @return 结果
     */
    @Override
    public int deleteUserCourseCardByIds(Long[] ids)
    {
        return userCourseCardMapper.deleteUserCourseCardByIds(ids);
    }

    /**
     * 删除用户的课程卡信息
     * 
     * @param id 用户的课程卡主键
     * @return 结果
     */
    @Override
    public int deleteUserCourseCardById(Long id)
    {
        return userCourseCardMapper.deleteUserCourseCardById(id);
    }
}
